/*
 * Copyright (C) 1997-2020 康成投资（中国）有限公司
 *
 * http://www.rt-mart.com
 *
 * 版权归本公司所有，不得私自使用、拷贝、修改、删除，否则视为侵权
 */
/*
 * com.zw.admin.server.service.impl
 * @author xiaoqun.liu
 * @date 2021年2月20日 下午5:11:52
 */
package com.zw.admin.server.service.impl;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.alibaba.fastjson.JSONObject;
import com.zw.admin.server.component.RegionComponent;
import com.zw.admin.server.dao.PSupplierDao;
import com.zw.admin.server.dao.SysRegionDao;
import com.zw.admin.server.dto.IntKeyValueDto;
import com.zw.admin.server.model.PSupplier;
import com.zw.admin.server.model.SysRegion;
import com.zw.admin.server.page.table.PageTableRequest;
import com.zw.admin.server.service.SupplierService;

/**
 * 供应链service 接口
 * @author xiaoqun.liu
 * @date 2021年2月20日 下午5:11:52
 */
@Service
public class SupplierServiceImpl implements SupplierService {
	@Autowired
	private SysRegionDao sysRegionDao;
	@Autowired
	private  PSupplierDao  pSupplierDao;
	

    @Autowired
    private RegionComponent regionComponent;
    
	@Override
	public List<PSupplier> list(PageTableRequest request) {
		
		List<PSupplier> list=  pSupplierDao.list(request.getParams(), request.getOffset(), request.getLimit());
		for(PSupplier entity : list ) {
			regionComponent.setRegionTitle(entity);
		}
		
		return list;
	}

	@Override
	public List<IntKeyValueDto> getRegion(String regId) {
		List<IntKeyValueDto> list = new ArrayList<>();
		if(StringUtils.isBlank(regId)) {
			//取省
			List<SysRegion> listReg=sysRegionDao.plist();
			if(listReg!=null) {
				
				for(SysRegion  sysRegion : listReg) {
					IntKeyValueDto intKeyValueDto = new IntKeyValueDto();
					intKeyValueDto.setKey(sysRegion.getPid());
					intKeyValueDto.setValue(sysRegion.getPname());
					list.add(intKeyValueDto);
				}
			}
		}else if(regId.length()==2) {
			//取市
			List<SysRegion> listReg=sysRegionDao.clist(Integer.parseInt(regId));
			if(listReg!=null) {
				for(SysRegion  sysRegion : listReg) {
					IntKeyValueDto intKeyValueDto = new IntKeyValueDto();
					intKeyValueDto.setKey(sysRegion.getCid());
					intKeyValueDto.setValue(sysRegion.getCname());
					list.add(intKeyValueDto);
				}
			}
		}else if(regId.length()==4) {
			//取区
			List<SysRegion> listReg=sysRegionDao.reglist(Integer.parseInt(regId.substring(0,2)), Integer.parseInt(regId), null);
			if(listReg!=null) {
				for(SysRegion  sysRegion : listReg) {
					IntKeyValueDto intKeyValueDto = new IntKeyValueDto();
					intKeyValueDto.setKey(sysRegion.getRegid());
					intKeyValueDto.setValue(sysRegion.getRegname());
					list.add(intKeyValueDto);
				}
			}
		}
		
		return list;
	}
	
	@Override
	public List<PSupplier> listAll(JSONObject request) {
		
		List<PSupplier> list=  pSupplierDao.listSimpleAll(request);
		for(PSupplier entity : list ) {
			regionComponent.setRegionTitle(entity);
		}
		
		return list;
	}

}
